課程資訊
課程名稱
程式語言
Programming Languages 
開課學期
100-1 
授課對象
管理學院  資訊管理學系  
授課教師
穆信成 
課號
IM3002 
課程識別碼
705 20100 
班次
 
學分
全/半年
半年 
必/選修
選修 
上課時間
星期三6,7,8(13:20~16:20) 
上課地點
管二304 
備註
本課程中文授課,使用英文教科書。
總人數上限:60人 
 
課程簡介影片
 
核心能力關聯
核心能力與課程規劃關聯圖
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

- 程式語言是一種形式語言,作為思考的工具。我們用程式語言表達概念,也用程式語
言中的形式規則檢驗程式的正確性。領域不同、目的不同,適合的程式語言也不同。
一個語言如果不改變你的思考方式,就不值得學 (Alan Peris)。

- 只要定義出資料型態,很多程式都可用歸納法寫出。

- 好的型別系統常有只要型別對,程式就會對的特性。

- 型別系統與邏輯有密切關係。計算科學的發展也和數學/邏輯學界的潮流息息相關。

- 有良好性質的語言可用數學推衍確保正確性,甚至可以從 specification 把
程式「算」出來。

- 許多程式語言的特性,如傳值方式、變數範疇、lazy/eager evaluation 等等
的「意義」(語意)都可用數學方式描述。

- 如 C 之類的 imperative 語言之程式的正確性也可以證明。寫一個 imperative
程式的關鍵是迴圈不變量。
 

課程目標
瞭解程式語言在語法、語意、與實務面向的課題。熟悉數種程式設計典範,
作為日後輔助思維與規劃的公據。 
課程要求
已修過一門程式設計課程
 
預期每週課後學習時數
 
Office Hours
 
指定閱讀
 
參考書目
Programming in Haskell, by Graham Hutton.
Cambridge University Press, 2007

Introduction to Functional Programming using Haskell (2nd Edition), by Richard Bird.
Prentice Hall 1998

 
評量方式
(僅供參考)
   
課程進度
週次
日期
單元主題
無資料